#include "widget.h"
#include "ui_widget.h"
#include <QIcon>
#include <QDebug>
#include <QDirIterator>
Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);

    // 设置图标 ps.QIcon不支持对象树,只能在栈上创建
    // 路径不能有中文,还需要注意'\'和'/'的区别,使用'\\'或者'/'
    // C++11中引入raw string此问题解决

    /* 绝对路径 */
    // QIcon icon("D:\\Remote repositories\\qt-code\\QWidget_7\\img\\girl.png");
    // QIcon icon("D:/Remote repositories/qt-code/QWidget_7/img/girl.png");
    // QIcon icon(R"(D:\Remote repositories\qt-code\QWidget_7\img\girl.png)");

    // /* 相对路径 -- 以可执行文件为基准(我自己测试实际是从debug目录开始算的) */
    // QIcon icon("../../img/girl.png");

    /* 使用qrc机制进行文件管理,语法以':'前缀开始引入虚拟路径 */
    // qrc机制(将图片转为二进制数据,生成CPP代码,最后编译进可执行文件中)
    // ps.路径和图标都不能包含中文,尤其是qrc机制图片中文名直接编译不过
    QIcon icon(":/img/girl.png");

    this->setWindowIcon(icon);
}

Widget::~Widget()
{
    delete ui;
}
